package goleetcode

func smallestString(s string) string {
	// 找到第一个不等于a的字符s[i]，直到遍历结束或者遇到了a
	t := []byte(s)
	for i, c := range t {
		if c > 'a' {
			for ; i < len(t) && t[i] > 'a'; i++ {
				t[i]--
			}
			return string(t)
		}
	}
	t[len(t) - 1] = 'z'
	return string(t)
}
